﻿using System;
using System.Collections.ObjectModel;

using SBPweb.RIA.Shared.Contracts.Controllers;

using SBPweb.RIA.Client.Contracts.Base;
using SBPweb.RIA.Client.Contracts.Controllers;

using SBPweb.PROvibe.Client.Library.Base;
using SBPweb.PROvibe.Client.Library.Models;

using SBPweb.PROvibe.Shared.Library.Layout;
using SBPweb.PROvibe.Shared.Library.Components;

namespace SBPweb.PROvibe.Client.Library.Controllers
{

    public interface IContentContextController : IController<IContentContextModel>
    {
        
        void GetCurrentPageContext();


        T GetService<T>() where T : IService;

        T GetService<T>(string serviceName) where T : IService;

        void RegisterService<T>(T service) where T : IService;

    }

}